| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public, | parameter | :: | FS_COLUMN_INTEGER | = | 1 |
Denotes a column of integer values. |
| integer(kind=int32), | public, | parameter | :: | FS_COLUMN_LOGICAL | = | 3 |
Denotes a column of logical values. |
| integer(kind=int32), | public, | parameter | :: | FS_COLUMN_REAL | = | 2 |
Denotes a column of real (floating-point) values. |
| integer(kind=int32), | public, | parameter | :: | FS_COLUMN_STRING | = | 4 |
Denotes a column of text strings. |
Overloads abs to compute the absolute value of each column element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column with the same count as x.
Overloads acos to compute the inverse cosine of each column element.
Values outside [-1, 1] follow intrinsic domain-error behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of angles in radians, with x's count.
Overloads asin to compute the inverse sine of each column element.
Values outside [-1, 1] follow intrinsic domain-error behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of angles in radians, with x's count.
Overloads the one-argument atan to compute each element's inverse tangent.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of angles in radians, with x's count.
Overloads cos to compute the cosine of each column element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input angles in radians; unallocated storage is treated as empty. |
An independent, unnamed column of cosine values with the same count as x.
Overloads exp to compute the natural exponential of each column element.
Overflow and underflow follow intrinsic exp behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of exponential values, with x's count.
Overloads ieee_is_finite to test whether every column value is finite.
An allocated empty column returns true; unallocated storage returns false.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The real_column object. |
True if every value in the column is finite; else, false.
Overloads ieee_is_nan to test whether every column value is NaN.
This is an all-elements query, not a test for the presence of any NaN.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The real_column to inspect, without copying its array. |
True if all values are NaN, including an allocated empty array; false for unallocated storage.
Overloads ieee_is_negative to test the sign of every column value.
Uses IEEE sign classification, including negative zero, rather than x < 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The real_column to inspect, without copying its array. |
True if all values satisfy intrinsic ieee_is_negative, including
an allocated empty array; false for unallocated storage.
Overloads ieee_is_normal to classify every column value.
Zero, subnormal, infinite, and NaN values follow intrinsic classification.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The real_column to inspect, without copying its array. |
True if all values satisfy intrinsic ieee_is_normal, including
an allocated empty array; false for unallocated storage.
Constructs an empty integer_column of the requested size.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | n |
The number of rows to create. |
The newly constructed integer_column object.
Constructs a new integer_column by copying the contents of the supplied array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in), | dimension(:) | :: | x |
The array to copy. |
The newly constructed integer_column object.
Overloads log to compute the natural logarithm of each column element.
Nonpositive values follow intrinsic domain-error behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of logarithms with the same count as x.
Overloads log10 to compute the base-10 logarithm of each column element.
Nonpositive values follow intrinsic domain-error behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of logarithms with the same count as x.
Constructs an empty logical_column of the requested size.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | n |
The number of rows to create. |
The newly constructed logical_column object.
Constructs a new logical_column by copying the contents of the supplied array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in), | dimension(:) | :: | x |
The array to copy. |
The newly constructed logical_column object.
Overloads maxval to find the largest column value without copying the array.
Nonfinite values follow intrinsic maxval behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
The maximum, or -huge(0.0d0) for an empty column.
Overloads minval to find the smallest column value without copying the array.
Nonfinite values follow intrinsic minval behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
The minimum, or huge(0.0d0) for an empty column.
Overloads * to multiply corresponding elements, not compute a dot product.
Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left and right operands; unallocated storage is treated as empty. |
||
| class(real_column), | intent(in) | :: | y |
The left and right operands; unallocated storage is treated as empty. |
An independent, unnamed column of x * y, with the operands' count.
Overloads * to multiply each column value by a scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left operand real_column; unallocated storage is empty. |
||
| real(kind=real64), | intent(in) | :: | y |
The scalar right operand, broadcast to every row. |
An independent, unnamed column of x * y, with x's count.
Overloads * to multiply a scalar by each column value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | x |
The scalar left operand, broadcast to every row. |
||
| class(real_column), | intent(in) | :: | y |
The right operand real_column; unallocated storage is empty. |
An independent, unnamed column of x * y, with y's count.
Overloads + to add corresponding elements of two columns.
Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left and right operands; unallocated storage is treated as empty. |
||
| class(real_column), | intent(in) | :: | y |
The left and right operands; unallocated storage is treated as empty. |
An independent, unnamed column of x + y, with the operands' count.
Overloads + to add a scalar to each column value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left operand real_column; unallocated storage is empty. |
||
| real(kind=real64), | intent(in) | :: | y |
The scalar right operand, broadcast to every row. |
An independent, unnamed column of x + y, with x's count.
Overloads + to add each column value to a scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | x |
The scalar left operand, broadcast to every row. |
||
| class(real_column), | intent(in) | :: | y |
The right operand real_column; unallocated storage is empty. |
An independent, unnamed column of x + y, with y's count.
Overloads unary + to create a copy of the column's values.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The operand real_column; unallocated storage is treated as empty. |
An independent, unnamed column with the same values and count as x.
Overloads - to subtract corresponding elements of two columns.
Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left and right operands; unallocated storage is treated as empty. |
||
| class(real_column), | intent(in) | :: | y |
The left and right operands; unallocated storage is treated as empty. |
An independent, unnamed column of x - y, with the operands' count.
Overloads - to subtract a scalar from each column value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The left operand real_column; unallocated storage is empty. |
||
| real(kind=real64), | intent(in) | :: | y |
The scalar right operand, broadcast to every row. |
An independent, unnamed column of x - y, with x's count.
Overloads - to subtract each column value from a scalar.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | x |
The scalar left operand, broadcast to every row. |
||
| class(real_column), | intent(in) | :: | y |
The right operand real_column; unallocated storage is empty. |
An independent, unnamed column of x - y, with y's count.
Overloads unary - to negate each column value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The operand real_column; unallocated storage is treated as empty. |
An independent, unnamed column with negated values and x's count.
Overloads / to divide corresponding elements of two columns.
Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR.
Zero divisors and nonfinite values follow intrinsic division behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The numerator and denominator columns; unallocated storage is empty. |
||
| class(real_column), | intent(in) | :: | y |
The numerator and denominator columns; unallocated storage is empty. |
An independent, unnamed column of x / y, with the operands' count.
Overloads / to divide each column value by a scalar.
Zero divisors and nonfinite values follow intrinsic division behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The numerator real_column; unallocated storage is empty. |
||
| real(kind=real64), | intent(in) | :: | y |
The scalar denominator, broadcast to every row. |
An independent, unnamed column of x / y, with x's count.
Overloads / to divide a scalar by each column value.
Zero divisors and nonfinite values follow intrinsic division behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | x |
The scalar numerator, broadcast to every row. |
||
| class(real_column), | intent(in) | :: | y |
The denominator real_column; unallocated storage is empty. |
An independent, unnamed column of x / y, with y's count.
Overloads product to multiply all column values, without copying the array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
The product, or one for an empty column. Uses intrinsic product semantics.
Constructs an empty real_column of the requested size.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | n |
The number of rows to create. |
The newly constructed real_column object.
Constructs a new real_column by copying the contents of the supplied array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The array to copy. |
The newly constructed real_column object.
Overloads sin to compute the sine of each column element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input angles in radians; unallocated storage is treated as empty. |
An independent, unnamed column of sine values with the same count as x.
Returns the number of items in the column.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(data_column), | intent(in) | :: | col |
The data_column object. |
The size of the column.
Overloads sqrt to compute the square root of each column element.
Negative values follow intrinsic domain-error behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
An independent, unnamed column of square roots with x's count.
Constructs an empty integer_column of the requested size.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | n |
The number of rows to create. |
The newly constructed string_column object.
Constructs a new string_column by copying the contents of the supplied array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(string), | intent(in), | dimension(:) | :: | x |
The array to copy. |
The newly constructed string_column object.
Overloads sum to add all column values, without copying the array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input real_column; unallocated storage is treated as empty. |
The sum, or zero for an empty column. Uses intrinsic summation semantics.
Overloads tan to compute the tangent of each column element.
Singularities and nonfinite inputs follow intrinsic tan behavior.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(real_column), | intent(in) | :: | x |
The input angles in radians; unallocated storage is treated as empty. |
An independent, unnamed column of tangent values with the same count as x.
Defines a column of data within a data_table object.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | m_name |
A header, or column name. |
| procedure(data_column_append), public, deferred, pass :: append | ..\..\ Appends one value, initializing an unallocated column if needed. Discard existing views before this operation.<\p> |
| procedure(data_column_array_copy), public, deferred, pass :: copy | ..\..\ Copies the contents of the column to an array.<\p> |
| procedure(data_column_integer_query), public, deferred, pass :: count | ..\..\ Gets the number of items stored in the column.<\p> |
| procedure(data_column_integer_query), public, deferred, pass :: get_data_type | Gets the data type stored by the column: |
| procedure, public :: get_name => dc_get_name | |
| procedure(data_column_insert), public, deferred, pass :: insert | ..\..\ Inserts one value before row, in the range 1 through count() + 1. Discard existing views before this operation.<\p> |
| procedure(data_column_remove), public, deferred, pass :: remove | ..\..\ Removes one row, in the range 1 through count(). Discard existing views before this operation.<\p> |
| procedure, public :: set_name => dc_set_name | |
| procedure(data_column_slice), public, deferred, pass :: slice | ..\..\ Borrows a mutable array pointer to a slice of the column without copying the column. The actual column must have TARGET or be an associated pointer. The caller must not deallocate the returned pointer. Reallocation of the array or destruction of the column invalidates the view; discard it before either operation and reacquire afterward.<\p> |
| procedure(data_column_to_string), public, deferred, pass :: to_string | ..\..\ Converts the requested value to a string.<\p> |
| procedure(data_column_array_view), public, deferred, pass :: view | ..\..\ Borrows a mutable array pointer without copying the column. The actual column must have TARGET or be an associated pointer. The caller must not deallocate the returned pointer. Reallocation of the array or destruction of the column invalidates the view; discard it before either operation and reacquire afterward.<\p> |
Defines a column of integer values.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | m_name |
A header, or column name. |
| private pure function ic_init_empty (n) | Constructs an empty integer_column of the requested size. |
| private pure function ic_init_array (x) | Constructs a new integer_column by copying the contents of the supplied array. |
| procedure, public :: append => ic_append | |
| procedure, public :: copy => ic_copy | |
| procedure, public :: count => ic_count | |
| procedure, public :: get => ic_get | |
| procedure, public :: get_data_type => ic_get_type | |
| procedure, public :: get_name => dc_get_name | |
| procedure, public :: insert => ic_insert | |
| procedure, public :: remove => ic_remove | |
| procedure, public :: set => ic_set | |
| procedure, public :: set_name => dc_set_name | |
| procedure, public :: slice => ic_slice | |
| procedure, public :: to_string => ic_to_string | |
| procedure, public :: view => ic_view |
Defines a column of logical values.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | m_name |
A header, or column name. |
| private pure function lc_init_empty (n) | Constructs an empty logical_column of the requested size. |
| private pure function lc_init_array (x) | Constructs a new logical_column by copying the contents of the supplied array. |
| procedure, public :: append => lc_append | |
| procedure, public :: copy => lc_copy | |
| procedure, public :: count => lc_count | |
| procedure, public :: get => lc_get | |
| procedure, public :: get_data_type => lc_get_type | |
| procedure, public :: get_name => dc_get_name | |
| procedure, public :: insert => lc_insert | |
| procedure, public :: remove => lc_remove | |
| procedure, public :: set => lc_set | |
| procedure, public :: set_name => dc_set_name | |
| procedure, public :: slice => lc_slice | |
| procedure, public :: to_string => lc_to_string | |
| procedure, public :: view => lc_view |
Defines a column of double-precision, floating-point values.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | m_name |
A header, or column name. |
| private pure function rc_init_empty (n) | Constructs an empty real_column of the requested size. |
| private pure function rc_init_array (x) | Constructs a new real_column by copying the contents of the supplied array. |
| procedure, public :: append => rc_append | |
| procedure, public :: copy => rc_copy | |
| procedure, public :: count => rc_count | |
| procedure, public :: get => rc_get | |
| procedure, public :: get_data_type => rc_get_type | |
| procedure, public :: get_name => dc_get_name | |
| procedure, public :: insert => rc_insert | |
| procedure, public :: remove => rc_remove | |
| procedure, public :: set => rc_set | |
| procedure, public :: set_name => dc_set_name | |
| procedure, public :: slice => rc_slice | |
| procedure, public :: to_string => rc_to_string | |
| procedure, public :: view => rc_view |
Defines a column of string values.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | m_name |
A header, or column name. |
| private pure function sc_init_empty (n) | Constructs an empty integer_column of the requested size. |
| private pure function sc_init_array (x) | Constructs a new string_column by copying the contents of the supplied array. |
| procedure, public :: append => sc_append | |
| procedure, public :: copy => sc_copy | |
| procedure, public :: count => sc_count | |
| procedure, public :: get => sc_get | |
| procedure, public :: get_data_type => sc_get_type | |
| procedure, public :: get_name => dc_get_name | |
| procedure, public :: insert => sc_insert | |
| procedure, public :: remove => sc_remove | |
| procedure, public :: set => sc_set | |
| procedure, public :: set_name => dc_set_name | |
| procedure, public :: slice => sc_slice | |
| procedure, public :: to_string => sc_to_string | |
| procedure, public :: view => sc_view |